list=[val1,val2,val3,val4]
dict={key1:val1,key2:val2}
tuple=(val1,val2,val3,val4)
set={val1,val2,val3,val4}
- 列表中每一个元素都是可变的;
- 列表中的元素是有序的;
- 列表可以容纳Python中的任何对象
- 字典中数据必须是以键值对的形式出现的
- 键是不能重复的,值可以重复
- 字典中的键(key)是不可变的,即无法修改;而值(value)是可变的,即可以修改,可以是任何对象
- 集合中的元素是无序的,不重复的
- 集合不可以切片也不能被索引
#1.sorted()函数默认升序
num=[6,3,2,5,8]
print(sorted(num))#[2, 3, 5, 6, 8]
#2.可以指定降序
print(sorted(num,reverse=True))#[8, 6, 5, 3, 2]
#3.两个列表
str=['六','贰','伍','叁','捌']
for a,b in zip(num,str):
print(b,'is',a)
# 六 is 6
# 贰 is 3
# 伍 is 2
# 叁 is 5
# 捌 is 8
#列表解析式
#list=[item for item in iterable]
c=[letter.lower() for letter in 'ABCDDDGDHR']
#['a', 'b', 'c', 'd', 'd', 'd', 'g', 'd', 'h', 'r']
b=[n for n in range(1,10) if n%2==0]
print(b)
#[2, 4, 6, 8]
a=[j+1 for j in range(1,20)]
print(a)
#[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
print(c)
b=[i for i in range(1,11)]
print(b)
#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
#等同于上面
a=[]
for i in range(1,11):
a.append(i)
print(a)
#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
#循环列表时获取元素索引
letters=['a','b','c','d','e','f']
for num,letter in enumerate(letters):
print(letter,'is',num+1)
词频统计:
import string
path='wenjian'
with open(path,'r') as text:
#string.punctuation字符串里的所有标点(!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~)
#strip(string.punctuation)表示以标点作为分隔符
#b=[item for item in iterable]比range快
words=[raw_word.strip(string.punctuation).lower() for raw_word in text.read().split()]
words_index=set(words)#用集合元素不重复的特性,将重复单词去掉,留下不重复的单词作为键
#创建一个以单词为键(key),出现频率为值(value)的字典
counts_dict={index:words.count(index) for index in words_index}
#key=lambda x:counts_dict[x]叫做lambda表达式,以字典中的值为排序的参数
for word in sorted(counts_dict,key=lambda x:counts_dict[x],reverse=True):
print('{}--{} times'.format(word,counts_dict[word]))