http://blog.sysuschool.com/u/mygod/index.html
请稍候,载入中。。。
 
请稍候,载入中。。。
2019/3/23 11:35:00
博文:聊聊python与JavaScript(四)

  继续小结python基本语法。

 

  关于列表、元组、字典和字符串。

 

  首先这几种数据都是一串数据,如列表[1,2,3]、元组(1,2,3)、字典{“name”:”zhangsan”,…},字符串就不用再说了,在js中列表即数组,字典即json,没有元组这种数据。

 

  先小结这几种数据在py中共同的地方:假设创建列表、元组、字典、字符串变量listtupledictstr。


1、都可以用变量名[索引]取值,如str[i]

2、用len(变量名)返回元素数量;

3、用del(变量名)删除变量,其中列表支持del(lsit[i])、字典支持del(dict[key])删除列表和字典的元素项,元组和字符串不支持用del删除元素项;

4、用for in遍历;

5、max()\min()返回最大最小值;

6、+运算,列表、元组、字符串支持用+拼接,字典不支持;

7、*运算拼接,列表、元组、字符串支持,字典不支持;

8、修改元素项值,列表和字典支持list[i]=newvaluedict[key]=value修改已有元素值,元组和字符串不支持;

9、添加新元素,仅字典支持dict[key]=value添加新元素;

10、切片,即取部分元素,格式:变量名[start:end:step],字典不能切片。

  还有一些细节,索引号从0开始,切片时可取负值(从右开始,起始值-1),列表、元组、字符串的索引不能越界(即不能用不存在的索引号)。

 

  下面分开小结:

 

  列表、元组、字典、字符串的方法都可以用 变量名.+tab查看。

 

  列表:如list[1,2,3]js中列表叫数组,js中索引是可以越界的,数组长度有数组属性length可以直接返回,可以用list[i]=value来添加或修改元素,切片在js中有专门的slice方法。

 

  py中,列表的方法大概有11个,用.tab可查看,

  list.append(新元素) 末尾追加元素、

  list.insert(i,value) 指定索引位置插入元素、

  list.extend(list2) 两个列表合并、

  list.pop(i) 弹出索引号处的元素、

  list.remove(value) 清除指定值(一次一个)、

  list.clear() 清除列表、

  list.sort() 排序、

  list.reverse() 反转排序、

  list.index(value) 查找返回索引、

  list.copy() 非关联复制列表。

  这些方法除了查询和统计,都是直接修改列表的,即不改变引用关系,注意多变量引用时,大家都在变化!感觉js的数组方法更多,更灵活!

 

  元组tuple,这种对象比较特别,用小括号,如(1,2,3),元素不能修改(不包括赋值),该对象仅提供了两种2个方法countindex

 

  字典dict,如{key:value,…}js中为json,是一种很重要的数据类型,描述对象特别方便,采用无序键值对,如{name:”xm”},其中key不能重复,内部采用hash算法。

 

  字符串str,如str=123456789”,py中,字符串提供的方法太多了,功能分得非常细,判断字符类型的就有78个,应该所有的字符串方法都不能修改原字符串(赋值修改除外),方法太多不列举了。字符串里的转义字符跟js一样。还有一个关于格式化字符串输出,在py中比较特别,js中用正则表达式格式化字符串,py有没有正则,目前还不清楚!py的格式化字符串输出要用%,数字%d、小数%f、字符%s、十六进制数%x用来引入变量,比如输出数字变量aprint(“输出变量a的值:%d” % a),感觉很不习惯,js直接用+,如console.log(“输出变量a的值:”+a),需要格式化另说。

 

  好了,列表、元组、字典、字符串小结到此,还有一点不清楚,这些数据作为对象的话,目前看到的资料,没有提及它们的属性,如js的数组吧,有length等属性,py的这些对象没有属性可用吗?

mygod | 阅读全文 | 回复(0) | 引用通告 | 编辑
发表评论:
请稍候,载入中。。。
公告
请稍候,载入中。。。
时间记忆
请稍候,载入中。。。
最新日志
请稍候,载入中。。。
最新评论
请稍候,载入中。。。
最新回复
请稍候,载入中。。。
我的好友
我的相册
站点信息
请稍候,载入中。。。
生活因感动而精彩,理想在创造中放飞
Powered by Oblog.